package com.huitu.whht.base.core.api.geo.pdo.entities;

import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.huitu.whht.api.core.common.base.BaseQo;
import com.huitu.whht.api.core.common.base.MyLocalDateTimeDeserializer;
import com.huitu.whht.api.core.common.base.MyLocalDateTimeSerializer;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 说明: 入河排污口基本信息表查询条件实体类,表名称: WR_PDO_B <br/>
 * 日期: 2018-07-24
 *
 * @author ZhangPeng
 */
@Builder
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class GeoPdoQo extends BaseQo {

    private static final long serialVersionUID = 4L;

    /**
     * (数组)入河排污口代码
     */
    private List<String> pdoCdList;
    /**
     * 入河排污口代码
     */
    private String pdoCd;
    /**
     * 入河排污口名称
     */
    private String pdoNm;
    /**
     * 地址
     */
    private String addr;
    /**
     * (数组)入河排污口性质
     */
    private List<String> pdoTpList;
    /**
     * (开始时间)建成日期
     */
    @JsonDeserialize(using = MyLocalDateTimeDeserializer.class)
    @JsonSerialize(using = MyLocalDateTimeSerializer.class)
    private LocalDateTime compDtBgTm;
    /**
     * (结束时间)建成日期
     */
    @JsonDeserialize(using = MyLocalDateTimeDeserializer.class)
    @JsonSerialize(using = MyLocalDateTimeSerializer.class)
    private LocalDateTime compDtEdTm;
    /**
     * (数组)排放方式
     */
    private List<String> emisTpList;
    /**
     * (数组)入河方式
     */
    private List<String> inRvTpList;
    /**
     * (最小)设计日排污能力
     */
    private Double desPollCapMin;
    /**
     * (最大)设计日排污能力
     */
    private Double desPollCapMax;
    /**
     * (数组)运行状况
     */
    private List<String> runCondList;
    /**
     * (开始时间)时间戳
     */
    @JsonDeserialize(using = MyLocalDateTimeDeserializer.class)
    @JsonSerialize(using = MyLocalDateTimeSerializer.class)
    private LocalDateTime tsBgTm;
    /**
     * (结束时间)时间戳
     */
    @JsonDeserialize(using = MyLocalDateTimeDeserializer.class)
    @JsonSerialize(using = MyLocalDateTimeSerializer.class)
    private LocalDateTime tsEdTm;
    /**
     * 备注
     */
    private String nt;
    /**
     * (数组)污水分类
     */
    private List<String> powTpList;
    /**
     * (数组)间歇或季节性排放周期
     */
    private List<String> emisCycList;
    /**
     * (数组)周期内排放次数
     */
    private List<Integer> cycDnumList;
    /**
     * (数组)入河排污口规模
     */
    private List<String> pdoScaList;
    /**
     * (数组)许可状态
     */
    private List<String> perStuList;
    /**
     * (数组)监督性监测状态
     */
    private List<String> morCheList;
    /**
     * (最小)排污口截面积
     */
    private Integer pdoSizeMin;
    /**
     * (最大)排污口截面积
     */
    private Integer pdoSizeMax;

}
